/*
Theme Name: Kassandra — Set Design
Version: 1.0
Description: A private portfolio draft for Kassandra Gregos.
*/
@font-face{font-family:Barlow;src:url('assets/heading.ttf')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#101413;color:#eeefeb;font:16px/1.6 Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a:hover{color:#c7cbbf}a:focus-visible,button:focus-visible{outline:2px solid #dbe7b9;outline-offset:6px}.site-header{display:flex;align-items:center;justify-content:space-between;padding:30px 4%;gap:36px;border-bottom:1px solid #343a36}.brand,h1,h2,h3{font-family:Barlow,'Arial Narrow',sans-serif;text-transform:uppercase;font-weight:400;line-height:1.04}.brand{font-size:42px;letter-spacing:2px;white-space:nowrap}nav{display:flex;gap:26px;flex-wrap:wrap}nav a{text-transform:uppercase;font-size:12px;letter-spacing:1.4px;padding:10px 0}nav a[aria-current]{border-bottom:1px solid}h1{font-size:clamp(66px,8vw,116px);margin:24px 0}h2{font-size:58px;letter-spacing:3px;margin:0}h3{font-size:60px;margin:20px 0 0;display:flex;justify-content:space-between;gap:20px}h3 span{font:normal 54px Arial}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:12px}.hero{position:relative;min-height:760px;height:calc(100svh - 105px);max-height:1050px;background-size:cover;background-position:center;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:34px 4% 60px;isolation:isolate}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0003 0%,#0000 25%,#000b 100%);z-index:-1}.hero-top{display:flex;justify-content:space-between;gap:25px}.hero-copy{max-width:1050px}.hero-copy h1{margin:18px 0}.role{font-size:24px;margin:0 0 10px}.hero-contact{display:flex;gap:25px;flex-wrap:wrap;color:#deded6}.line-link{display:inline-flex;justify-content:space-between;gap:60px;border-bottom:1px solid #93978e;padding:15px 0;margin-top:24px;letter-spacing:2px;font-size:14px;text-transform:uppercase}.scroll{position:absolute;bottom:60px;right:4%;border:1px solid #85877e;width:58px;height:58px;display:grid;place-items:center;font-size:27px}.section{padding:90px 4% 110px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:48px}.section-heading p{color:#a4aaa5;letter-spacing:2px}.covers{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cover{position:relative;aspect-ratio:1.05;overflow:hidden;border-radius:12px;isolation:isolate}.cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.cover:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#000c);z-index:0}.cover:hover img{transform:scale(1.025)}.cover-label{position:absolute;bottom:36px;left:36px;right:36px;z-index:1;color:#fff}.cover-label p{margin:0}.gallery-head{text-align:center;padding:70px 4% 25px}.gallery-head h1{font-size:88px}.gallery{padding-top:30px}.count{margin:0 0 32px;color:#929c94}.image-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 30px}figure{margin:0}.enlarge{padding:0;border:0;display:block;background:none;width:100%;cursor:zoom-in}.enlarge img{width:100%;height:330px;object-fit:contain;background:#161c18;display:block}figcaption{margin-top:18px;font-size:15px;letter-spacing:.2px}.light{background:#f5f5f1;color:#161c18}.light .enlarge img{background:#fff}.contact{text-align:center;max-width:1400px;margin:auto}.contact h1{font-size:80px}.contact-links{display:flex;justify-content:center;gap:30px;flex-wrap:wrap}.serif{text-align:left;font:italic 38px Georgia,serif;text-transform:none;letter-spacing:0;margin:80px 0 25px}.credit{display:grid;grid-template-columns:2fr 1fr 1fr;align-items:center;text-align:left;padding:25px 0;border-top:1px solid #353b38;gap:20px}.credit span:first-child{font:26px Georgia,serif}.credit span:not(:first-child){color:#a4aaa5}.credit span:last-child{text-align:right}footer{padding:55px 4%;border-top:1px solid #343a36;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}footer .brand{font-size:31px}footer p,footer small{font-size:12px;color:#9aa19a}dialog{border:0;background:#101413;color:white;max-width:96vw;max-height:95vh;padding:24px}dialog::backdrop{background:#000e}dialog img{display:block;max-width:88vw;max-height:75vh;object-fit:contain}dialog button{display:block;margin:0 0 15px auto;background:none;color:white;border:1px solid #aaa;padding:8px 18px;cursor:pointer}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:10;background:black;padding:10px}@media(max-width:950px){.site-header{flex-direction:column;gap:16px}.brand{font-size:37px}nav{gap:20px;justify-content:center}.hero{min-height:680px}.section-heading{align-items:flex-start;flex-direction:column}h3{font-size:48px}}@media(max-width:600px){.site-header{padding:22px 6%}.brand{font-size:32px}nav{gap:8px 20px}nav a{font-size:10px}.hero{padding:26px 6% 50px;min-height:650px;background-position:58% center}.hero-top{font-size:9px;letter-spacing:2px}.hero-top span:last-child{max-width:90px;text-align:right}.hero-contact{gap:5px;flex-direction:column;font-size:14px}.scroll{right:6%;bottom:48px}.hero h1{font-size:68px}.section{padding:60px 6%}.covers,.image-grid{grid-template-columns:1fr}.cover-label{left:24px;right:24px;bottom:24px}.cover{aspect-ratio:1}.gallery-head h1,.contact h1{font-size:62px}.enlarge img{height:auto;max-height:450px}.credit{grid-template-columns:1fr 1fr}.credit span:first-child{grid-column:1/-1}.credit span:last-child{text-align:right}.section-heading{margin-bottom:28px}h2{font-size:45px}footer{padding:40px 6%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cover img{transition:none}}

/* Charcoal blueprint artwork: preserve its complete composition. */
.blueprint-hero{background:#101413;color:#eeefeb}.blueprint-cover{display:block;width:100%;height:auto}.cover-actions{display:flex;justify-content:center;align-items:center;gap:36px;flex-wrap:wrap;padding:20px 5%;border-top:1px solid #343a36}.cover-actions a{text-transform:uppercase;font-size:12px;letter-spacing:1.5px}.cover-actions a:hover{color:#c7cbbf}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.cover-actions{gap:14px 24px;padding:20px 6%}.cover-actions a{font-size:10px}}

/* Gothic atelier — restrained romance, architectural structure. */
:root{--ink:#101413;--paper:#eeefeb;--muted:#b4b1b4;--rose:#d4adb9;--plum:#34252f;--rule:#41403f}body{color:var(--paper);font-size:15px;-webkit-font-smoothing:antialiased}::selection{background:#785264;color:#fff}a,button{transition:color .2s,background .2s,border-color .2s}a:hover{color:var(--rose)}a:focus-visible,button:focus-visible{outline-color:var(--rose)}.site-header{padding:28px 4%;border-bottom:1px solid var(--rule);background:var(--ink)}.brand{font-size:34px;letter-spacing:2.5px}.site-header nav{gap:24px}.site-header nav a{font-size:10px;letter-spacing:1.8px;color:#c9c7c8;position:relative}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--rose)}.site-header nav a[aria-current]{border-color:var(--rose)}.blueprint-hero{padding-top:12px}.blueprint-cover{max-width:1800px;margin:auto}.cover-actions{gap:42px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:22px 4%;background:#1d191e}.cover-actions a{font-size:10px;letter-spacing:2px}.cover-actions a:last-child{color:var(--rose)}.cover-actions a:hover{color:#fff}.section{padding:100px 5% 110px;max-width:1800px;margin:auto}.section-heading{align-items:flex-end;margin-bottom:48px}.section-heading .eyebrow{color:var(--rose);font-size:10px;margin:0 0 22px}.section-heading h2{font-size:clamp(44px,5vw,76px);letter-spacing:.5px}.section-heading h2 em{display:block;font:italic .73em/1.4 Georgia,serif;text-transform:none;color:var(--rose)}.section-heading .section-note{font-size:13px;line-height:1.9;letter-spacing:0;color:var(--muted);padding-bottom:8px}.covers{gap:34px}.cover{aspect-ratio:1.12;border:1px solid #54464e;border-radius:7px 7px 60px 7px;background:#1c1c1c}.cover:nth-child(even){border-radius:7px 7px 7px 60px}.cover:after{background:linear-gradient(180deg,#0000 32%,#151016b8 70%,#151016fa 100%)}.cover img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.cover:hover img{transform:scale(1.035)}.cover:hover{border-color:var(--rose)}.cover-label{left:34px;right:34px;bottom:32px}.cover-label .eyebrow{font-size:10px;letter-spacing:2.5px;color:#e4c8d2}.cover h3{font-size:clamp(40px,5vw,72px);margin:17px 0 14px;letter-spacing:1px;align-items:center}.cover h3 span{font-size:33px;border:1px solid #bca4b36b;border-radius:50%;width:50px;height:50px;display:grid;place-items:center;transition:transform .25s,background .25s}.cover:hover h3 span{background:#735063;transform:rotate(8deg)}.cover-note{font:italic 16px/1.5 Georgia,serif;color:#d6cdd2}.credits-strip{padding:55px 5% 65px;text-align:center;background:#241c25;border-top:1px solid #55404e;border-bottom:1px solid #55404e}.credits-strip>.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--rose);margin-bottom:32px}.credits-strip>div{display:flex;align-items:center;justify-content:center;gap:4vw}.credits-strip span{font:clamp(20px,2.8vw,36px)/1.5 Georgia,serif}.credits-strip i{font-size:27px;font-style:normal;color:var(--rose)}.line-link{font-size:10px;letter-spacing:2px;border-color:#937180;padding:13px 0}.credits-strip .line-link{margin-top:36px;gap:60px}.gallery-head{padding:65px 5% 40px;position:relative}.gallery-head:after{content:'✧';display:block;color:var(--rose);font-size:27px;margin-top:20px}.gallery-head .eyebrow{font-size:10px;color:var(--rose)}.gallery-head h1{font-size:clamp(66px,8vw,116px);letter-spacing:4px;margin:18px 0 0}.gallery{padding-top:15px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--rule);padding:22px 0 32px}.count{font-size:10px;white-space:nowrap;margin:0;color:var(--muted)}.filters{display:flex;gap:12px;flex-wrap:wrap}.filters button{cursor:pointer;background:transparent;color:#bcb7bb;border:1px solid transparent;padding:9px 15px;border-radius:30px;font-size:12px}.filters button:hover{color:var(--paper);border-color:#725363}.filters button.active{background:var(--plum);border-color:#725363;color:#f3dde5}.image-grid{gap:52px 30px}.image-grid figure[hidden]{display:none}.enlarge{overflow:hidden;position:relative;border-radius:5px;background:#171b19}.enlarge:after{content:'↗';position:absolute;right:14px;bottom:14px;color:#fff;background:#241c25d9;border:1px solid #ad8c9c88;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:17px;opacity:0;transition:opacity .2s}.enlarge:hover:after,.enlarge:focus-visible:after{opacity:1}.enlarge img{height:auto;aspect-ratio:1.5;object-fit:contain;background:#171b19;transition:filter .3s}.enlarge:hover img{filter:brightness(1.06)}figcaption{display:flex;justify-content:space-between;gap:24px;font-size:12px;line-height:1.7;letter-spacing:.6px;padding-top:16px;margin-top:0;color:#e0dcdf}.image-index{font:italic 15px Georgia,serif;color:#b88b9f;flex-shrink:0}.gallery-next{border-top:1px solid var(--rule);padding:40px 5% 60px;background:#211b22;display:flex;align-items:center;justify-content:space-between;gap:24px}.gallery-next>.eyebrow{font-size:10px;color:var(--rose)}.gallery-next>a{font:48px Barlow,sans-serif;text-transform:uppercase}.gallery-next>a span{color:var(--rose);margin-left:30px}.light{background:#f2eee7;color:#282329}.light .site-header{color:var(--paper)}.light .gallery-head .eyebrow,.light .gallery-head:after{color:#795164}.light .gallery-toolbar{border-color:#c9bdc3}.light .count{color:#71646c}.light figcaption{color:#463b43}.light .image-index{color:#795164}.light .enlarge{border:1px solid #e0d7d6}.light .gallery-next,.light footer{color:var(--paper)}.contact{padding-top:65px;padding-bottom:90px;max-width:1450px}.contact>.eyebrow{font-size:10px;color:var(--rose)}.contact h1{font-size:clamp(56px,7vw,100px);letter-spacing:2px}.contact-intro{font:24px/1.6 Georgia,serif;margin:20px 0 32px}.contact-intro em{color:var(--rose)}.contact-links{font-size:14px;gap:15px 35px}.contact>.line-link{margin-top:28px}.serif{font:italic clamp(27px,3vw,38px) Georgia,serif;margin-top:65px;color:var(--rose)}.credit{padding:27px 18px;border-color:#4e3c48;transition:background .25s;border-radius:4px}.credit:nth-of-type(even){background:#211c22}.credit:hover{background:#30232e}.credit span:first-child{font-size:25px}.credit span:not(:first-child){font-size:12px;color:#bfb5bd}footer{background:#101413;padding:60px 5%;border-top:1px solid var(--rule)}footer .brand{font-size:28px}footer p{font-size:10px;letter-spacing:1px;line-height:1.8}footer small{font-size:10px}.footer-invite{font:21px/1.5 Georgia,serif}.footer-invite em{color:var(--rose)}dialog{padding:24px;background:#141216;border:1px solid #725363;border-radius:8px;width:min(1250px,96vw);max-height:96svh;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#08090bf2}dialog img{width:100%;height:70svh;max-height:70svh;max-width:100%;object-fit:contain}.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.viewer-top{padding-bottom:15px}.viewer-top .eyebrow{font-size:10px;color:var(--rose)}dialog button{margin:0;border:1px solid #725363;border-radius:30px;padding:9px 16px;font-size:12px}dialog button:hover{background:#34252f}.viewer-bottom p{font-size:12px;text-align:center;margin:16px 0}.viewer-bottom>button{font-size:20px;flex-shrink:0}.skip:focus{z-index:100;color:#fff}
@media(min-width:1600px){.blueprint-cover{max-width:1600px}}
@media(max-width:1050px){.site-header{flex-direction:column;gap:14px}.section-heading{align-items:flex-start;flex-direction:column;gap:12px}.section-heading .section-note{margin:0}.gallery-toolbar{align-items:flex-start;flex-direction:column}.cover-label{left:25px;right:25px;bottom:27px}.cover h3 span{width:40px;height:40px;font-size:27px}.cover-note{font-size:14px}}
@media(max-width:600px){.site-header{padding:22px 5%}.brand{font-size:30px}.site-header nav{gap:4px 18px}.site-header nav a{font-size:9px;letter-spacing:1px}.blueprint-hero{padding-top:20px}.cover-actions{padding:20px 5%;gap:18px 25px}.cover-actions a{font-size:9px;letter-spacing:1px}.section{padding:60px 6%}.section-heading h2{font-size:48px}.section-heading .eyebrow{margin-bottom:16px}.section-heading .section-note{font-size:12px}.covers{gap:24px}.cover{aspect-ratio:1.03;border-radius:5px 5px 44px 5px}.cover:nth-child(even){border-radius:5px 5px 5px 44px}.cover h3{font-size:49px}.cover-note{font-size:14px}.credits-strip{padding:40px 6%}.credits-strip>div{flex-direction:column;gap:12px}.credits-strip i{font-size:18px}.credits-strip span{font-size:27px}.gallery-head{padding:45px 6% 20px}.gallery-head h1{font-size:66px}.gallery{padding-top:0}.gallery-toolbar{gap:18px}.filters{gap:5px}.filters button{font-size:11px;padding:8px 11px}.image-grid{gap:33px}.enlarge img{aspect-ratio:auto;max-height:none}.enlarge:after{opacity:1;width:28px;height:28px;font-size:14px}.gallery-next{padding:30px 6%;align-items:flex-start;flex-direction:column;gap:18px}.gallery-next>a{font-size:42px}.contact h1{font-size:58px}.contact-intro{font-size:21px}.contact-intro em{display:block}.contact-links{font-size:13px}.serif{margin-top:48px}.credit{padding:22px 14px;gap:12px}.credit span:first-child{font-size:23px}.credit span:not(:first-child){font-size:11px}footer{padding:40px 6%;flex-direction:column;align-items:flex-start;gap:28px}.footer-invite{font-size:22px}dialog{padding:14px}dialog img{height:62svh;max-height:62svh}.viewer-bottom{gap:10px}.viewer-bottom p{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
