/* /iletisim — "a project begins here". Loaded only by resources/views/contact.blade.php.
   Selectors are scoped under .premium-home .ct because typography.css loads after page styles. */
.ct{
 --ct-paper:#eae7e0;--ct-paper-deep:#e1ddd3;--ct-ink:#30342f;--ct-ink-deep:#20211f;--ct-muted:#62695d;
 --ct-line:#c8c2b6;--ct-line-strong:#9d978a;--ct-accent:#786b55;--ct-soft:#8a806f;--ct-dark:#292e27;
 --ct-error:#9a3b28;--ct-ease:cubic-bezier(.2,.7,.2,1);
 background:var(--ct-paper);color:var(--ct-ink);overflow-x:clip
}
.ct .premium-eyebrow{color:var(--ct-accent)}
.premium-home .ct h1,.premium-home .ct h2,.premium-home .ct h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}
.premium-home .ct h1 em,.premium-home .ct h2 em{font-style:normal;color:var(--ct-soft)}
.ct .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ct a:focus-visible,.ct button:focus-visible{outline:2px solid var(--ct-ink);outline-offset:5px}

.ct-text-link{display:inline-flex;align-items:center;gap:16px;padding:10px 0;min-height:44px;border-bottom:1px solid var(--ct-line-strong);font-size:var(--type-ui)}
.ct-text-link svg{transition:transform .3s var(--ct-ease)}
.ct-text-link:hover svg{transform:translateX(4px)}

/* Primary buttons. */
.ct-button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:58px;padding:0 28px;background:var(--ct-ink);color:#f2efe8;font-size:.9375rem;font-weight:500;letter-spacing:.01em;white-space:nowrap;position:relative;overflow:hidden;transition:background-color .3s,color .3s}
.ct-button svg{flex-shrink:0;transition:transform .35s var(--ct-ease)}
.ct-button:hover{background:var(--ct-ink-deep)}
.ct-button:hover svg{transform:translateX(5px)}
.premium-home .ct .ct-button{font-size:.9375rem;line-height:1.3;min-height:58px}

/* 1. Hero ------------------------------------------------------------------ */
.ct-hero{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:6%;padding:40px var(--premium-gutter) 0;height:clamp(560px,calc(100svh - var(--site-header-h)),820px)}
.ct-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:0 0 48px}
.ct-hero-copy .premium-eyebrow{margin-bottom:34px}
.premium-home .ct .ct-hero h1{font-size:clamp(3rem,5.3vw,5rem);line-height:.98;letter-spacing:-.03em;margin-bottom:38px}
.ct-hero h1>span,.ct-hero h1>em{display:block}
.premium-home .ct .ct-hero-lead{font-size:1.0625rem;line-height:1.75;color:var(--ct-muted);max-width:36ch;margin-bottom:40px}
.ct-hero-cta{align-self:flex-start}
.ct-hero-figure{display:flex;flex-direction:column;margin:0}
.ct-hero-photo{flex:1;min-height:0;overflow:hidden;background:var(--ct-paper-deep)}
.ct-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:42% 55%;transform-origin:60% 60%;animation:ct-settle 1.8s var(--ct-ease) both}
.ct-hero-figure figcaption{display:flex;justify-content:space-between;gap:20px;padding:14px 0 0;font-size:var(--type-small);letter-spacing:.03em;color:var(--ct-muted)}
.ct-rise{animation:ct-rise .9s var(--ct-ease) both}
.ct-hero-copy>.ct-rise:nth-child(2){animation-delay:.08s}
.ct-hero-copy>.ct-rise:nth-child(3){animation-delay:.18s}
.ct-hero-copy>.ct-rise:nth-child(4){animation-delay:.26s}
@keyframes ct-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes ct-settle{from{transform:scale(1.06)}to{transform:scale(1)}}

/* 2. Project brief ---------------------------------------------------------- */
.ct-brief{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:8%;padding:130px var(--premium-gutter) 140px;background:var(--ct-paper-deep);scroll-margin-top:0}
.ct-brief-intro{align-self:start;position:sticky;top:48px}
.ct-brief-intro .premium-eyebrow{margin-bottom:24px}
.premium-home .ct .ct-brief h2{font-size:var(--type-section);line-height:1.06;margin-bottom:26px}
.ct-brief h2 em{display:block}
.premium-home .ct .ct-brief-intro p:not(.premium-eyebrow){color:var(--ct-muted);max-width:38ch}
.ct-quick{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:32px;padding-top:22px;border-top:1px solid var(--ct-line);max-width:38ch}
.premium-home .ct .ct-quick{font-size:var(--type-ui);line-height:1.6;color:var(--ct-ink)}
.ct-quick>span{font-size:var(--type-small);letter-spacing:.06em;color:var(--ct-muted);margin-bottom:4px}
.ct-quick a{position:relative;padding:3px 0;font-size:1.0625rem}
.ct-quick a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ct-ease)}
.ct-quick a:hover::after,.ct-quick a:focus-visible::after{transform:scaleX(1)}
.ct-brief-detail{margin:56px 0 0;width:min(78%,340px)}
.ct-brief-detail img{aspect-ratio:4/3;width:100%;height:auto;object-fit:cover}
.ct-brief-detail figcaption{margin-top:12px;font-size:var(--type-small);color:var(--ct-muted);letter-spacing:.03em}

.ct-form{position:relative}
.ct-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.ct-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 40px}
.ct-field{display:flex;flex-direction:column;min-width:0;border:0;margin:0;padding:0}
.ct-field-wide{grid-column:1/-1}
.ct-field>label,.ct-field>legend{font-size:var(--type-ui);font-weight:500;letter-spacing:.01em;color:var(--ct-ink-deep);margin-bottom:4px;padding:0}
.ct-req{color:var(--ct-accent);margin-left:2px}
.ct-opt{color:var(--ct-muted);font-weight:400;letter-spacing:.01em;margin-left:8px;font-size:.8125rem}
.ct-field input,.ct-field textarea{width:100%;border:0;border-radius:0;background:transparent;color:var(--ct-ink-deep);font:inherit;font-size:1.125rem;line-height:1.5;padding:13px 0 14px;min-height:56px;box-shadow:inset 0 -1px 0 var(--ct-line-strong);transition:box-shadow .3s var(--ct-ease);appearance:none}
.ct-field textarea{min-height:132px;resize:vertical;line-height:1.65}
.ct-field input::placeholder,.ct-field textarea::placeholder{color:#a39d90;opacity:1}
.ct-field input:hover,.ct-field textarea:hover{box-shadow:inset 0 -1px 0 var(--ct-ink)}
.ct-field input:focus,.ct-field textarea:focus{outline:none;box-shadow:inset 0 -2px 0 var(--ct-ink)}
.ct-field input:focus-visible,.ct-field textarea:focus-visible{outline:none}
.ct-field [aria-invalid=true]{box-shadow:inset 0 -2px 0 var(--ct-error)}
.ct-field-hint{margin-top:10px;font-size:var(--type-small)!important;line-height:1.6!important;color:var(--ct-muted)}
.ct-field-error{margin-top:8px;font-size:var(--type-small)!important;line-height:1.5!important;color:var(--ct-error)}
.ct-field-error:empty{display:none}

.ct-system-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.ct-system{position:relative;cursor:pointer}
.ct-system input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.ct-system span{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:10px 15px;box-shadow:inset 0 0 0 1px var(--ct-line);font-size:.9375rem;color:var(--ct-ink);transition:background-color .25s,color .25s,box-shadow .25s}
.ct-system span::before{content:"";width:7px;height:7px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--ct-line-strong);transition:background-color .25s,box-shadow .25s}
.ct-system:hover span{box-shadow:inset 0 0 0 1px var(--ct-line-strong)}
.ct-system input:checked+span{background:#f1eee7;color:var(--ct-ink-deep);box-shadow:inset 0 0 0 1px var(--ct-ink)}
.ct-system input:checked+span::before{background:var(--ct-ink);box-shadow:none}
.ct-system input:focus-visible+span{outline:2px solid var(--ct-ink);outline-offset:3px}

.ct-submit{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:48px;padding-top:30px;border-top:1px solid var(--ct-line)}
.premium-home .ct .ct-privacy{font-size:var(--type-small);line-height:1.65;color:var(--ct-muted);max-width:44ch}
.ct-button[aria-busy=true]{pointer-events:none;background:var(--ct-ink-deep);cursor:progress}
.ct-button:disabled{opacity:1}
.ct-button[aria-busy=true]::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:40%;background:#d8cdb4;animation:ct-busy 1.1s ease-in-out infinite}
@keyframes ct-busy{from{transform:translateX(-100%)}to{transform:translateX(250%)}}

.ct-errors{margin-bottom:40px;padding:20px 24px;border-left:2px solid var(--ct-error);background:#efe4dc}
.ct-errors:focus{outline:none}
.premium-home .ct .ct-errors p{font-size:var(--type-ui);margin-bottom:8px;color:var(--ct-ink-deep)}
.ct-errors ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.ct-errors a{font-size:var(--type-ui);color:var(--ct-error);text-decoration:underline;text-underline-offset:3px}

.ct-success{padding:46px 0 10px;border-top:1px solid var(--ct-ink);animation:ct-rise .8s var(--ct-ease) both}
.ct-success:focus{outline:none}
.ct-success .premium-eyebrow{margin-bottom:20px}
.premium-home .ct .ct-success h3{font-size:var(--type-section);line-height:1.08;margin-bottom:20px}
.premium-home .ct .ct-success p:not(.premium-eyebrow){color:var(--ct-muted);max-width:46ch}
.premium-home .ct .ct-success .ct-success-alt{margin:16px 0 34px}
.ct-success-alt a{color:var(--ct-ink);border-bottom:1px solid var(--ct-line-strong)}

/* 3. Visit ------------------------------------------------------------------ */
.ct-visit{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:8%;align-items:center;padding:130px var(--premium-gutter) 120px}
.ct-visit-copy{display:flex;flex-direction:column;align-items:flex-start}
.ct-visit-copy .premium-eyebrow{margin-bottom:24px}
.premium-home .ct .ct-visit h2{font-size:var(--type-section);line-height:1.06}
.ct-visit h2 em{display:block}
.ct-visit address{font-style:normal;font-size:1.125rem;line-height:1.8;color:var(--ct-ink);max-width:30ch;margin:32px 0 36px;padding-top:24px;border-top:1px solid var(--ct-line)}
.ct-map{position:relative;height:clamp(440px,40vw,600px);background:var(--ct-paper-deep);overflow:hidden}
.ct-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ct-map:focus-within{outline:2px solid var(--ct-ink);outline-offset:4px}
.premium-home .ct .ct-map-fallback{position:absolute;left:28px;right:28px;bottom:28px;font-size:var(--type-ui);color:var(--ct-muted)}
.ct-map-fallback a{color:var(--ct-ink);border-bottom:1px solid var(--ct-line-strong)}


/* Scroll reveals (enabled by contact.js, so content stays visible without JavaScript). */
.ct-js .ct-reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ct-ease),transform .9s var(--ct-ease),clip-path 1.1s var(--ct-ease)}
.ct-js .ct-clip{clip-path:inset(0 0 14% 0)}
.ct-js .ct-reveal.is-in{opacity:1;transform:none;clip-path:inset(0)}

/* Tablet --------------------------------------------------------------------- */
@media(max-width:1000px){
 .ct-hero{grid-template-columns:1fr 1fr;gap:5%;height:clamp(520px,calc(100svh - var(--site-header-h) - 120px),700px)}
 .ct-submit{flex-direction:column;align-items:flex-start;gap:24px}
 .ct-brief,.ct-visit{grid-template-columns:1fr;gap:56px;padding-top:100px;padding-bottom:110px}
 .ct-brief-intro{position:static}
 .ct-brief-detail{display:none}
 .ct-visit{align-items:start}
 .ct-system-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .ct-system-options>.ct-system:last-child{grid-column:1/-1}
 .ct-system span{display:flex}
}

/* Phone ---------------------------------------------------------------------- */
@media(max-width:700px){
 .ct-hero{display:flex;flex-direction:column;gap:0;padding:0;height:auto}
 .ct-hero-copy{padding:36px var(--premium-gutter) 32px}
 .ct-hero-cta{align-self:stretch}
 .ct-hero-copy .premium-eyebrow{margin-bottom:22px}
 .premium-home .ct .ct-hero h1{font-size:clamp(2.6rem,12.4vw,3.6rem);line-height:1;margin-bottom:22px}
 .premium-home .ct .ct-hero-lead{font-size:1rem;margin-bottom:26px}
 .ct-hero-photo{flex:none;aspect-ratio:4/3.4}
 .ct-hero-photo img{object-position:38% 60%}
 .ct-hero-figure figcaption{padding:12px var(--premium-gutter) 0;font-size:.75rem}
 .ct-brief,.ct-visit{padding:76px var(--premium-gutter) 84px;gap:40px}
 .ct-fields{grid-template-columns:1fr;gap:30px}
 .ct-quick{margin-top:24px}
 .ct-quick a{font-size:1rem}
 .ct-field input,.ct-field textarea{font-size:1.0625rem}
 .ct-system span{display:flex;min-height:50px;padding:10px 14px;font-size:.9375rem}
 .ct-submit{flex-direction:column;align-items:stretch;gap:24px;margin-top:40px}
 .ct-button{width:100%}
 .ct-visit address{margin:24px 0 28px}
 .ct-visit-copy .ct-button{width:100%}
 .ct-map{height:420px;margin:0 calc(var(--premium-gutter)*-1)}
 .premium-home .ct}

@media(prefers-reduced-motion:reduce){
 .ct-rise,.ct-hero-photo img,.ct-success{animation:none}
 .ct-js .ct-reveal,.ct-js .ct-clip{opacity:1;transform:none;clip-path:none;transition:none}
 .ct svg,.ct-button,.ct-system span,.ct-system span::before,.ct-quick a::after,.ct-field input,.ct-field textarea{transition:none}
 .ct-button[aria-busy=true]::after{animation:none;width:100%}
}
