:root{--accent: #244f73;--ink: #0b1926;--paper: #eaf1f7;--line: #91aec5;--silver: #d6e7f4;--script: "Allura", "Caveat", "Segoe Print", cursive;--sans: "Nunito Sans", Arial, sans-serif;scroll-behavior:smooth;scroll-padding-top:30px}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:var(--paper);font:17px/1.5 var(--sans);overflow-wrap:anywhere}a{color:inherit;text-underline-offset:5px}button{font:inherit}a,button{-webkit-tap-highlight-color:rgba(0,0,0,0)}a:focus-visible,button:focus-visible{outline:3px solid #65bde6;outline-offset:5px}img{max-width:100%;height:auto;vertical-align:middle}[hidden]{display:none !important}.site-frame{width:100%;max-width:1280px;margin:auto;padding:0 44px}.skip-link{position:fixed;left:16px;top:-80px;padding:12px 20px;background:#fff;z-index:20}.skip-link:focus{top:12px}.masthead-nav{position:relative;z-index:3;color:#fff;background:#081521}.masthead-nav::before,.masthead-nav::after{content:"";position:absolute;z-index:-1;top:0;pointer-events:none;background-repeat:no-repeat;background-size:contain}.masthead-nav::before{left:0;width:clamp(170px,24vw,320px);height:clamp(154px,22vw,290px);background-image:url("../images/dragon-corner.svg")}.masthead-nav::after{right:0;width:clamp(145px,20vw,270px);height:clamp(110px,15vw,200px);background-image:url("../images/scales-top.svg");background-position:right top}.page-head{position:relative;display:flex;justify-content:center;align-items:center;min-height:66px;gap:28px}.page-head nav{flex:1;margin-left:130px}.nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 28px;list-style:none;padding:0;margin:0}.nav-links a{display:block;padding:7px 0;font-size:15px;text-decoration:none;border-bottom:2px solid rgba(0,0,0,0)}.nav-links a:hover,.nav-links a[aria-current=location]{border-color:#77c8ee}.header-social,.social-links{display:flex;align-items:center;gap:18px}.header-social a,.social-links a{display:inline-flex}.header-social img,.social-links img{object-fit:contain}.header-social img{filter:brightness(0) invert(1)}.menu-toggle{border:1px solid #8ba9c0;color:#fff;background:#112b42;padding:8px 14px;border-radius:3px;cursor:pointer;align-items:center;gap:12px}.dark-stage{position:relative;isolation:isolate;color:#f5f8fc;background-image:linear-gradient(180deg, transparent, #eaf1f7),linear-gradient(180deg, #081521 0%, #12283d 42%, #3c5973 100%);background-size:100% 65px,100% 100%;background-position:center bottom,center;background-repeat:no-repeat}.dark-stage::before,.dark-stage::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}.dark-stage::before{background:url("../images/mist-texture.svg") center/cover;opacity:.35;mask-image:linear-gradient(transparent, #000 45%)}.dark-stage::after{left:auto;top:auto;bottom:28px;width:270px;height:220px;opacity:.7;background:url("../images/dragon-wisp-upper.svg") right top/100% auto no-repeat,url("../images/dragon-wisp-lower.svg") right bottom/80% auto no-repeat}.light-stage{position:relative;isolation:isolate;min-height:30vh;background:#eaf1f7}.light-stage::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none}.light-stage::before{background:url("../images/mist-texture.svg") center/1100px auto repeat;opacity:.25}.portfolio-name{text-align:center;padding:0 0 22px}.portfolio-name h1{margin:0;font:400 clamp(72px, 9vw, 120px)/1.05 var(--script);letter-spacing:-3px;color:#edf3f8;text-shadow:0 1px 1px #04101d}.portfolio-name p{display:flex;align-items:center;justify-content:center;gap:20px;margin:2px 0 0;color:#c6e8fa;text-transform:uppercase;font-size:14px;letter-spacing:7px}.portfolio-name p::before,.portfolio-name p::after{content:"";width:80px;height:1px;background:#8dcee9}.portfolio-sections{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);column-gap:48px;row-gap:30px}.portfolio-section{grid-column:1/-1;min-width:0;scroll-margin-top:30px}.portfolio-section h1,.portfolio-section h2{position:relative;z-index:0;width:fit-content;max-width:100%;margin:0 0 20px;font:400 48px/1.1 var(--script);letter-spacing:-0.035em}.portfolio-section h2>span{display:inline-block;position:relative}.portfolio-section h2>span::after{content:"";position:absolute;z-index:-1;width:60%;height:20px;right:-15px;bottom:-7px;background:url("../images/heading-swish.svg") center/100% 100% no-repeat}.ck-content>:first-child{margin-top:0}.ck-content>:last-child{margin-bottom:0}.ck-content p{margin:0 0 12px}.ck-content a{color:var(--accent)}.ck-content ul,.ck-content ol{padding-left:23px}.ck-content figure{margin:16px 0;max-width:100%}.ck-content figure.table{overflow-x:auto}.ck-content table{width:100%;border-collapse:collapse}.ck-content td,.ck-content th{text-align:left;padding:5px 10px 5px 0;border-bottom:1px solid var(--line)}.ck-content iframe,.ck-content video{max-width:100%}.ck-content a[href$=".pdf"i]{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:10px 25px;color:#fff;background:#0c3150;border:1px solid #244b69;border-radius:2px;font-weight:800;text-decoration:none}.ck-content a[href$=".pdf"i]::before{content:"";width:26px;height:27px;background:url("../images/icon-download.svg") center/contain no-repeat}.photo-gallery{display:grid;grid-template-columns:repeat(7, minmax(0, 1fr));gap:15px;margin:24px 0 8px;padding:7px}.photo-card{display:block;position:relative;min-width:0;padding:5px;background:#fff;border-radius:0;box-shadow:0 5px 12px rgba(16,38,56,.2078431373);transform:rotate(-3deg);transition:transform .2s ease,box-shadow .2s ease;cursor:zoom-in}.photo-card:nth-child(3n){transform:rotate(4deg)}.photo-card:nth-child(3n+2){transform:rotate(2deg)}.photo-card img{width:100%;height:100%;aspect-ratio:1.15;object-fit:cover;border-radius:0}.photo-card:hover,.photo-card:focus-visible{transform:rotate(0) scale(1.04);z-index:2;box-shadow:0 8px 18px rgba(16,38,56,.3333333333)}.section-hero{display:flex;flex-direction:column;gap:16px}.section-hero .section-copy{order:2;text-align:center}.section-hero h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.section-hero .photo-gallery{grid-template-columns:repeat(6, minmax(0, 1fr));grid-auto-rows:145px;gap:15px;margin:0;padding:8px 8px 15px}.section-hero .photo-card img{aspect-ratio:auto}.section-hero .photo-card:nth-child(1){grid-column:1/3;grid-row:1;transform:rotate(8deg);margin-left:48px}.section-hero .photo-card:nth-child(2){grid-column:3/5;grid-row:1/3;transform:rotate(-6deg);z-index:1}.section-hero .photo-card:nth-child(3){grid-column:5/7;grid-row:1;transform:rotate(-7deg);margin-right:48px}.section-hero .photo-card:nth-child(4){grid-column:1;grid-row:2;transform:rotate(-8deg)}.section-hero .photo-card:nth-child(5){grid-column:2;grid-row:2;transform:rotate(10deg);z-index:2}.section-hero .photo-card:nth-child(6){grid-column:5;grid-row:2;transform:rotate(-10deg);z-index:2}.section-hero .photo-card:nth-child(7){grid-column:6;grid-row:2;transform:rotate(8deg)}.section-hero .photo-card:hover,.section-hero .photo-card:focus-visible{transform:rotate(0) scale(1.04);z-index:3}.section-about{display:grid;grid-template-columns:minmax(160px, 28%) minmax(0, 1fr);gap:35px;align-items:center;padding:0 0 65px}.section-about .section-copy{grid-column:2;border-left:2px solid #a6e0f6;padding-left:30px}.section-about h2{margin-bottom:5px}.section-about h2>span::after{display:none}.section-about .ck-content{font-size:16px;text-shadow:0 1px 2px #0a1c2c}.section-about .ck-content a{color:#d4f0ff}.section-about .photo-gallery{position:relative;isolation:isolate;grid-column:1;grid-row:1;grid-template-columns:repeat(auto-fit, minmax(100px, 1fr));margin:0;padding:0}.section-about .photo-gallery::before{content:"";position:absolute;z-index:-1;inset:-25px -32px -35px;background:url("../images/scales-about.svg") center/100% 100% no-repeat;pointer-events:none}.section-about .photo-card{padding:0;box-shadow:none;background:rgba(0,0,0,0);transform:none;mask-image:linear-gradient(#000 70%, transparent 100%)}.section-about .photo-card img{aspect-ratio:1;object-position:center 25%}.section-about:not(:has(.photo-gallery)){display:block}.section-details,.section-comp{grid-column:auto}.section-comp{display:grid;grid-template-columns:minmax(0, 0.9fr) minmax(0, 1.1fr);gap:18px;align-content:start;align-items:center;border-left:1px solid var(--accent);margin-left:-24px;padding-left:30px}.section-comp .section-copy{display:contents}.section-comp h2{grid-column:1/-1;margin-bottom:4px}.section-comp .ck-content{grid-column:2;grid-row:2}.section-comp .photo-gallery{grid-column:1;grid-row:2;grid-template-columns:minmax(0, 1fr);margin:0}.section-comp .photo-card img{aspect-ratio:1;object-fit:contain}.section-comp:not(:has(.photo-gallery)){display:block}.measurements{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:9px 20px;margin:0;font-size:15px}.measurements>div,.measurements dt{display:flex;align-items:center;gap:7px;min-width:0}.measurements dt img{flex:none;object-fit:contain}.measurements dd{margin:0;font-weight:700}.section-work,.section-contact{padding:8px 0 18px}.section-work .section-copy,.section-contact .section-copy{display:grid;grid-template-columns:minmax(225px, 25%) minmax(0, 1fr);align-items:center;gap:28px;min-width:0}.section-work h2,.section-contact h2{margin-bottom:0;overflow-wrap:normal}.work-list{display:grid;grid-template-columns:repeat(6, minmax(0, 1fr));list-style:none;padding:0;margin:0}.work-list li{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;border-left:1px solid var(--line);padding:0 9px;font-size:14px;line-height:1.2}.work-list img{object-fit:contain}.work-list small{display:block;font-size:12px;margin-top:3px}.contact-list{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1.2fr) auto;align-items:center;gap:18px;min-width:0;font-size:14px}.contact-group{min-width:0;padding-left:17px;border-left:1px solid var(--line)}.contact-group>a,.contact-group>p{display:flex;align-items:center;gap:9px;margin:5px 0;text-decoration:none}.contact-group>a:hover{text-decoration:underline}.contact-group img{flex:none;object-fit:contain}.section-digitals{position:relative;isolation:isolate;display:grid;grid-template-columns:250px minmax(0, 1fr);gap:24px;align-items:center}.section-digitals .photo-gallery{grid-template-columns:repeat(5, minmax(0, 1fr));gap:12px;margin:0;padding:0}.section-digitals .photo-card{transform:none;padding:0;box-shadow:none}.section-digitals .photo-card img{aspect-ratio:.85}.section-digitals::after{content:"";position:absolute;z-index:-1;right:-40px;top:-60px;width:110px;height:180px;background:url("../images/dragon-side.svg") right top/contain no-repeat;pointer-events:none;opacity:.7}.section-gallery{position:relative;isolation:isolate;padding-top:10px}.section-gallery .photo-gallery{padding-top:24px;padding-bottom:24px}.section-gallery .photo-card{aspect-ratio:1}.section-gallery .photo-card.is-portrait{--frame-padding: 5px;z-index:1;box-shadow:none}.section-gallery .photo-card.is-portrait::before{content:"";position:absolute;inset:-20px 0;background:#fff;box-shadow:0 5px 12px rgba(16,38,56,.2078431373)}.section-gallery .photo-card.is-portrait img{position:absolute;top:calc(var(--frame-padding) - 20px);left:var(--frame-padding);width:calc(100% - 2*var(--frame-padding));height:calc(100% + 40px - 2*var(--frame-padding))}.section-gallery .photo-card.is-portrait:hover::before,.section-gallery .photo-card.is-portrait:focus-visible::before{box-shadow:0 8px 18px rgba(16,38,56,.3333333333)}.section-gallery::before{content:"";position:absolute;z-index:-1;left:50%;top:-20px;width:100vw;height:210px;transform:translateX(-50%);background:url("../images/scales-left.svg") left top/150px auto no-repeat,url("../images/scales-right.svg") right top/140px auto no-repeat;pointer-events:none;opacity:.75}.section-gallery h2{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 auto 24px;text-align:center}.section-gallery h2>span::after{display:none}.section-gallery .title-dragon{flex:none;width:62px;height:58px;object-fit:contain}.gallery-count{display:flex;justify-content:center;align-items:center;gap:20px;text-align:center;font-size:15px;font-style:italic;letter-spacing:2px;margin:25px auto 0}.gallery-count .count-dragon{width:52px;object-fit:contain}.gallery-count::before{content:"";width:52px;height:28px;flex:none;background:url("../images/dragon-footer-left.svg") center/contain no-repeat}.content-page{min-height:60vh;padding-top:40px;padding-bottom:40px}.page-footer{display:flex;justify-content:space-between;gap:15px;padding-top:28px;padding-bottom:24px;font-size:13px}.page-footer p{margin:0}.messages{margin:10px 0;padding:16px;color:#102638;background:#f1f7fb;border:1px solid var(--line)}.pswp{--pswp-bg: #06111d;--pswp-icon-color: #fff;--pswp-icon-color-secondary: #8ac8e6}.pswp__custom-caption{display:none}@media(max-width: 1000px){.site-frame{padding-left:30px;padding-right:30px}.page-head nav{margin-left:80px}.nav-links{gap:6px 18px}.portfolio-section h2{font-size:42px}.portfolio-sections{column-gap:35px}.section-hero .photo-gallery{grid-auto-rows:120px}.section-hero .photo-card:nth-child(1){margin-left:20px}.section-hero .photo-card:nth-child(3){margin-right:20px}.section-comp{padding-left:25px;margin-left:-18px}.section-work .section-copy,.section-contact .section-copy{grid-template-columns:minmax(180px, 25%) minmax(0, 1fr);gap:20px}.contact-list{grid-template-columns:repeat(2, minmax(0, 1fr))}.social-links{grid-column:1/-1;justify-content:flex-end}.section-digitals{grid-template-columns:200px minmax(0, 1fr)}.section-digitals::after{right:-24px}.photo-gallery{gap:12px}}@media(max-width: 700px){body{font-size:16px}.site-frame{padding-left:22px;padding-right:22px}.masthead-nav::before{width:150px;height:140px;opacity:.65}.masthead-nav::after{width:135px;height:100px;opacity:.6}.page-head{justify-content:space-between;flex-wrap:wrap;gap:10px;min-height:66px}.page-head nav{flex-basis:100%;margin:0;order:3;padding-bottom:12px}.menu-toggle:not([hidden]){display:flex}.header-social{margin-left:auto}.nav-links{justify-content:flex-start;gap:3px 20px}.nav-links a{font-size:14px}.portfolio-name{padding:14px 0 24px}.portfolio-name h1{font-size:clamp(58px,12vw,82px);letter-spacing:-2px}.portfolio-name p{font-size:11px;letter-spacing:4px;gap:10px}.portfolio-name p::before,.portfolio-name p::after{width:35px}.portfolio-sections{grid-template-columns:minmax(0, 1fr);row-gap:28px}.portfolio-section h2{font-size:36px}.section-hero .photo-gallery{grid-template-columns:repeat(2, minmax(0, 1fr));grid-auto-rows:auto;gap:16px;padding:5px 4px 16px}.section-hero .photo-card:nth-child(n){grid-column:auto;grid-row:auto;margin:0;padding:5px;transform:rotate(-2deg);z-index:auto}.section-hero .photo-card:nth-child(even){transform:rotate(2deg)}.section-hero .photo-card img{height:auto;aspect-ratio:1;object-position:center 30%}.section-hero .photo-card:only-child{grid-column:1/-1}.section-hero .photo-gallery:has(.photo-card:nth-child(3)) .photo-card:nth-child(2){grid-column:1/-1;grid-row:1;transform:rotate(1deg)}.section-hero .photo-gallery:has(.photo-card:nth-child(3)) .photo-card:nth-child(2) img{aspect-ratio:4/3}.dark-stage::after{width:140px;opacity:.45}.section-about{grid-template-columns:120px minmax(0, 1fr);gap:20px;padding-bottom:60px}.section-about .section-copy{padding-left:18px}.section-about .ck-content{font-size:15px}.section-details,.section-comp{grid-column:1/-1;margin:0;padding:0;border:0}.section-comp{border-top:1px solid var(--line);padding-top:25px}.section-work .section-copy,.section-contact .section-copy{display:block}.section-work h2,.section-contact h2{margin-bottom:22px}.work-list{gap:18px 0}.section-digitals{display:block}.section-digitals .section-copy{margin-bottom:18px}.section-digitals .photo-gallery{grid-template-columns:repeat(3, minmax(0, 1fr));gap:10px}.section-digitals::after{width:70px;right:-16px;opacity:.45}.photo-gallery{grid-template-columns:repeat(3, minmax(0, 1fr));gap:12px;padding:3px}.section-gallery h2{gap:9px}.section-gallery .title-dragon{width:35px;height:38px}.section-gallery::before{background-size:75px auto,75px auto;opacity:.5}.gallery-count{font-size:13px;letter-spacing:1px;gap:10px}.gallery-count::before,.gallery-count .count-dragon{width:30px}.page-footer{font-size:12px;align-items:center}}@media(max-width: 420px){.site-frame{padding-left:18px;padding-right:18px}.portfolio-name h1{font-size:58px}.portfolio-section h2{font-size:34px}.section-about{grid-template-columns:minmax(0, 1fr)}.section-about .photo-gallery{max-width:190px;margin:auto}.section-about .section-copy{grid-column:1;grid-row:2}.measurements,.contact-list{grid-template-columns:minmax(0, 1fr)}.work-list{grid-template-columns:repeat(3, minmax(0, 1fr))}.social-links{justify-content:flex-start;padding-left:17px}.section-comp{grid-template-columns:minmax(0, 1fr)}.section-comp .ck-content{grid-column:1;grid-row:auto}.section-comp .photo-gallery{grid-column:1;grid-row:auto;max-width:250px}.photo-gallery,.section-digitals .photo-gallery{grid-template-columns:repeat(2, minmax(0, 1fr))}.section-gallery h2{gap:6px}.section-gallery .title-dragon{width:26px;height:32px}.page-footer{flex-direction:column}}@media(min-width: 701px){.section-hero .photo-gallery:not(:has(.photo-card:nth-child(4))){grid-template-columns:repeat(auto-fit, minmax(0, 1fr));grid-auto-rows:clamp(200px,30vw,330px);max-width:800px;width:100%;margin-inline:auto}.section-hero .photo-gallery:not(:has(.photo-card:nth-child(4))) .photo-card{grid-column:auto;grid-row:auto;margin:0}}@media(prefers-reduced-motion: reduce){:root{scroll-behavior:auto}.photo-card{transition:none}}
